<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Document</title>
</head>
<body>
  
  <script>
    // 在es6class中 会默认开启严格模式!  
    // 在严格模式中,不能有this直接指向window对象,得到undefined
    class User {
      constructor(name){
        this.name = name;
      }
      // es6中,在class中用函数声明,方法会被添加到User.prototype上
      // 原型上的属性是可以被所有的实例对象共享的
      // say(){
      //   console.log('this',this);
      // }
      // 直接用箭头函数声明,相当于在constructor中声明了变量
      say = ()=>{
        console.log('this',this);
      }
    }
    var zs = new User('张三');
    // zs.say();
    // 把say的函数体赋给foo
    // var foo = zs.say.bind(zs);
    var foo = zs.say;
    foo(); // undefined ? window


  </script>
</body>
</html>